/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sse554_project3;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 *
 * @author Sam
 */
public class TileBank {
    private List<Tile> tiles;
    
    public TileBank(){
        int i;
        tiles = new ArrayList<Tile>();
        // Add blank tiles
        for(i=0;i<2;i++){
            tiles.add(new Tile());
        }
        
        // Add A's
        for(i=0;i<9;i++){
            tiles.add(new Tile('A',1));
        }
        
        // Add B's
        for(i=0;i<2;i++){
            tiles.add(new Tile('B', 3));
        }
        
        // Add C's
        for(i=0;i<2;i++){
            tiles.add(new Tile('C',3));
        }
        
        // Add D's
        for(i=0;i<4;i++){
            tiles.add(new Tile('D',2));
        }
        
        // Add E's
        for(i=0;i<12;i++){
            tiles.add(new Tile('E',1));
        }
        
        // Add F's
        for(i=0;i<2;i++){
            tiles.add(new Tile('F',4));
        }
        
        // Add G's
        for(i=0;i<3;i++){
            tiles.add(new Tile('G',2));
        }
        
        // Add H's
        for(i=0;i<2;i++){
            tiles.add(new Tile('H',4));
        }
        
        // Add I's
        for(i=0;i<9;i++){
            tiles.add(new Tile('I',1));
        }
        
        // Add J's
        for(i=0;i<1;i++){
            tiles.add(new Tile('J',8));
        }
        
        // Add K's
        for(i=0;i<1;i++){
            tiles.add(new Tile('K',5));
        }
        
        // Add L's
        for(i=0;i<4;i++){
            tiles.add(new Tile('L',1));
        }
        
        // Add M's
        for(i=0;i<2;i++){
            tiles.add(new Tile('M',3));
        }
        
        // Add N's
        for(i=0;i<6;i++){
            tiles.add(new Tile('N',1));
        }
        
        // Add O's
        for(i=0;i<8;i++){
            tiles.add(new Tile('O',1));
        }
        
        // Add P's
        for(i=0;i<2;i++){
            tiles.add(new Tile('P',3));
        }
        
        // Add Q's
        for(i=0;i<1;i++){
            tiles.add(new Tile('Q',10));
        }
        
        // Add R's
        for(i=0;i<6;i++){
            tiles.add(new Tile('R',1));
        }
        
        // Add S's
        for(i=0;i<4;i++){
            tiles.add(new Tile('S',1));
        }
        
        // Add T's
        for(i=0;i<6;i++){
            tiles.add(new Tile('T',1));
        }
        
        // Add U's
        for(i=0;i<4;i++){
            tiles.add(new Tile('U',1));
        }
        
        // Add V's
        for(i=0;i<2;i++){
            tiles.add(new Tile('V',2));
        }
        
        // Add W's
        for(i=0;i<2;i++){
            tiles.add(new Tile('W',4));
        }
        
        // Add X's
        for(i=0;i<1;i++){
            tiles.add(new Tile('X',8));
        }
        
        // Add Y's
        for(i=0;i<2;i++){
            tiles.add(new Tile('Y',4));
        }
        
        // Add Z's
        for(i=0;i<1;i++){
            tiles.add(new Tile('Z',10));
        }
    }
    
    public Tile getTile(){
        int size = tiles.size();
        Random rand = new Random();
        int index = rand.nextInt(size);
        return tiles.get(index);
    }
}